本篇重點:
- 將Windows驗證改為SQL Server驗證
- 如何更改sa密碼 & 啟用登入
- 如何修正「使用者'sa'的登入失敗。(Microsoft SQL Server,錯誤: 18456)」的錯誤
在Day 2:環境篇:Visual Studio 2022 & SQL Server安裝中,我們安裝好SQL Server SSMS後,有使用Windows驗證做連線,測試是否能成功登入SQL Server。Windows驗證看的是你Windows的登入用戶,所以只要你Windows系統有做登入,就可以訪問任何使用Windows驗證的SQL Server
但如果今天我們SQL Server要提供給外部的應用程式做訪問,或需要控制資料庫的存取用戶,就必須使用SQL Server驗證,以便管理用戶的存取權限
首先,在SQL Server的地方點擊右鍵,選擇「屬性(R)」
到「安全性」的頁面,將伺服器驗證改為「SQL Server及Windows驗證模式(S)」
再到「安全性>登入」的地方,對sa點擊右鍵,選擇「屬性(R)」
到「一般」頁面,將sa的密碼重設成你喜歡的密碼
請注意:SQL Server有規定密碼複雜性原則,在設定時必須符合以下要求
- 密碼不包含使用者的帳戶名稱,也就是不能包含 sa 這個字。
- 密碼長度至少為 8 個字元,密碼長度最多可達 128 個字元。
- 密碼包含下列四種類別的其中三種:
- 拉丁文大寫字母 (A 到 Z)
- 拉丁文小寫字母 (a 到 z)
- 以 10 為基底的數字 (0 到 9)
- 非英數字元,例如:驚嘆號 (!)、錢幣符號 ($)、數字符號 (#) 或百分比符號 (%)
- 例子:!Login0920
再到「狀態」頁面,將「設定>登入」改為「已啟用(E)」
最後按「中斷連線」
將Windows驗證改為「SQL Server驗證」,並在登入&密碼的地方輸入「sa」和「你設定的sa密碼」,嘗試使用sa的身分登入SQL Server
這裡你可能會看到它報錯:使用者'sa'的登入失敗。(Microsoft SQL Server,錯誤: 18456)
會遇到這個錯誤,主要是因為你在更改sa的設定時,沒有重新啟動SQL Server的服務,所以它沒有套用成新的變更(也有可能是你密碼輸入錯誤)
到搜尋的地方,尋找「服務」並開啟
往下滑到S開頭的地方,找到「SQL Server(MSSQLSERVER)」,對它點擊右鍵,並點擊「重新啟動」
再回到SQL Server SSMS重新登入一次
就可以看到我們用sa的身分登入成功囉
如果在操作上有任何問題,都歡迎在下方留言提出喔!